/**
 * 
 */
package com.wilmar.process.core;

import com.wilmar.process.enumerate.EnumEmailSendingType;

/**
 * 系统常量定义文件
 * 
 * @author MaKuBEX E-mail:makubexnet@gmail.com
 * @version 1.0.0 at Aug 4, 2009 11:57:17 AM
 * 
 */
public interface ProcessSystemDeclareKeys {

	/**
	 * 空格常量
	 */
	public static final String SPACE = " ";

	/**
	 * 冒号常量
	 */
	public static final String RISK = ":";

	/**
	 * 减号常量
	 */
	public static final String MINUS = "-";

	/**
	 * 分号常量
	 */
	public static final String SEMICOLON = ";";

	/**
	 * 左括号
	 */
	public static final String LEFT_PARENTHESES = "(";

	/**
	 * 右括号
	 */
	public static final String RIGHT_PARENTHESES = ")";

	/**
	 * 逗号常量
	 */
	public static final String COMMA = ",";

	/**
	 * 等于号常量
	 */
	public static final String EQUAL = "=";

	/**
	 * 双引号常量
	 */
	public static final String QUOTATION = "\"";

	/**
	 * 斜线
	 */
	public static final String SLASH = "/";

	/**
	 * 双斜线
	 */
	public static final String DOUBLESLASH = SLASH + SLASH;

	/**
	 * 反斜线
	 */
	public static final String BACKLASH = "\\";

	/**
	 * 点
	 */
	public static final String DOT = ".";

	/**
	 * 双反斜线
	 */
	public static final String DOUBLEBACKLASH = BACKLASH + BACKLASH;

	/**
	 * 单引号
	 */
	public static final String SINGLE_QUOTES = "'";

	/**
	 * 百分号
	 */
	public static final String PERCENTAGE = "%";

	/**
	 * 下划线
	 */
	public static final String UNDERLINE = "_";

	/**
	 * 双引号
	 */
	public static final String DOULBE_QUOTES = "\"";

	public static final String GREATER = ">";
	public static final String GREATER_EQUAL = GREATER + EQUAL;
	public static final String LESS = "<";
	public static final String LESS_EQUAL = LESS + EQUAL;

	/**
	 * 日期分隔常量
	 */
	public static final String SYSTEM_DATE_SEPTATOR = "-";

	public static final String SQL_STATEMENT_SELECT = "select" + SPACE;
	public static final String SQL_STATEMENT_FROM = SPACE + "from" + SPACE;
	public static final String SQL_STATEMENT_WHERE = SPACE + "where" + SPACE;
	public static final String SQL_STATEMENT_AND = SPACE + "and" + SPACE;
	public static final String SQL_STATEMENT_OR = SPACE + "or" + SPACE;
	public static final String SQL_STATEMENT_AS = SPACE + "as" + SPACE;
	public static final String SQL_STATEMENT_IN = SPACE + "in" + SPACE;
	public static final String SQL_STATEMENT_IS = SPACE + "is" + SPACE;
	public static final String SQL_STATEMENT_NOT = SPACE + "not" + SPACE;
	public static final String SQL_STATEMENT_NULL = SPACE + "null" + SPACE;
	public static final String SQL_STATEMENT_LIKE = SPACE + "like" + SPACE;
	public static final String SQL_STATEMENT_CALL = "call" + SPACE;
	public static final String SQL_STATEMENT_ASTERISK = "*";
	public static final String SQL_STATEMENT_LEFT_BRACE = "{";
	public static final String SQL_STATEMENT_RIGHT_BRACE = "}";
	public static final String SQL_STATEMENT_ROWNUMBER = "rownum" + SPACE;
	public static final String SQL_STATEMENT_DATEFORMAT = "yyyy"
			+ SYSTEM_DATE_SEPTATOR + "mm" + SYSTEM_DATE_SEPTATOR
			+ "dd hh24:mi:ss";

	/**
	 * 图标使用的图片后缀名称
	 */
	public static final String ICON_SUFFIX = ".png";

	/**
	 * 默认的图标所采用的高度
	 */
	public static final String DEFAULT_ICON_HEIGHT = "16px";

	/**
	 * 默认的图标所采用的宽度
	 */
	public static final String DEFAULT_ICON_WIDTH = "16px";

	/**
	 * 前台页面等文件存放的基础目录名称
	 */
	public static final String PAGE_BASE_DIR = SLASH + "process";

	/**
	 * 前台脚本文件存放的基础目录名称
	 */
	public static final String PAGE_SCRIPT_DIR = PAGE_BASE_DIR + SLASH
			+ "script";

	/**
	 * 前台样式表目录名称
	 */
	public static final String PAGE_STYLE_DIR = PAGE_BASE_DIR + SLASH + "style";

	/**
	 * 前台图片目录名称
	 */
	public static final String PAGE_IMAGE_DIR = PAGE_BASE_DIR + SLASH
			+ "images";

	/**
	 * 前台图标目录名称
	 */
	public static final String PAGE_ICON_DIR = PAGE_IMAGE_DIR + SLASH + "icon";

	/**
	 * 系统图标目录名称
	 */
	public static final String PAGE_SYSTEM_IMAGE_DIR = PAGE_IMAGE_DIR + SLASH
			+ "system";

	/**
	 * 系统Logo
	 */
	public static final String SYSTEM_LOGO = PAGE_SYSTEM_IMAGE_DIR + SLASH
			+ "wilmar-wfs-logo" + ICON_SUFFIX;

	/**
	 * 默认的Logo图标所采用的高度
	 */
	public static final String DEFAULT_LOGO_HEIGHT = "56px";

	/**
	 * 默认的Logo图标所采用的宽度
	 */
	public static final String DEFAULT_LOGO_WIDTH = "300px";

	/**
	 * 系统中的长日期格式
	 */
	public static final String SYSTEM_LONG_DATE_FORMAT = "yyyy"
			+ SYSTEM_DATE_SEPTATOR + "MM" + SYSTEM_DATE_SEPTATOR + "dd";

	/**
	 * 系统中的长时间格式
	 */
	public static final String SYSTEM_LONG_TIME_FORMAT = "HH" + RISK + "mm"
			+ RISK + "ss";

	/**
	 * 系统中的短时间格式
	 */
	public static final String SYSTEM_SHORT_TIME_FORMAT = "HH" + RISK + "mm";

	/**
	 * 系统页面文件中使用的用来指定pojo类的常量
	 */
	public static final String PROCESS_SYSTEM_POJOINFORMATION_CLAZZNAME = "process_system_pojoinfo_clazzname";

	/**
	 * 系统页面文件中使用的用来指定pojo类的别名的常量
	 */
	public static final String PROCESS_SYSTEM_POJOINFORMATION_ALIAS = "process_system_pojoinfo_alias";

	/**
	 * 系统通用object成员属性的setter方法的前缀
	 */
	public static final String PROCESS_SYSTEM_PROPERTIE_SETTER_PREFIX = "set";

	/**
	 * 系统通用object成员属性(非boolean型)的getter方法的前缀
	 */
	public static final String PROCESS_SYSTEM_PROPERTIE_GETTER_PREFIX = "get";

	/**
	 * 系统通用object成员属性(boolean型)的getter方法的前缀
	 */
	public static final String PROCESS_SYSTEM_BOOLEAN_PROPERTIE_GETTER_PREFIX = "is";

	/**
	 * 系统用户与外部系统的分割符
	 */
	public static final String PROCESS_SYSTEM_USER_OUTERSYSTEM_SEPTATOR = "-";

	/**
	 * 系统中任务指定的标示符--表示任务指定给用户
	 */
	public static final String PROCESS_SYSTEM_PROCESS_ASSIGN_MARK_USER = "user";
	/**
	 * 系统中任务指定的标示符--表示任务指定给机构
	 */
	public static final String PROCESS_SYSTEM_PROCESS_ASSIGN_MARK_ORGANIZATION = "organization";
	/**
	 * 系统中任务指定的标示符--表示任务指定给角色
	 */
	public static final String PROCESS_SYSTEM_PROCESS_ASSIGN_MARK_ROLE = "role";

	/**
	 * 系统中,每个任务实例都有一个默认的流转方向(源自JBPM),其值为completed
	 */
	public static final String PROCESS_SYSTEM_TASKINSTANCE_DEFAULT_OUTCOME = "completed";

	/**
	 * 系统中,每个任务实例都有可能拥有一个默认的撤销流转方向,其值为__revoke__
	 */
	public static final String PROCESS_SYSTEM_TASKINSTANCE_REVOKE_OUTCOME = "__revoke__";
	/**
	 * 系统中用于过滤默认存在的流转方向的数组
	 */
	public static final String[] PROCESS_SYSTEM_FILTERED_TASKINSTANCE_OUTCOME = new String[] {
			PROCESS_SYSTEM_TASKINSTANCE_DEFAULT_OUTCOME,
			PROCESS_SYSTEM_TASKINSTANCE_REVOKE_OUTCOME };
	/**
	 * JBPM4_DEPLOYPROP表中使用的deploymentDbid的字段名称
	 */
	public static final String PROCESS_JBPM_TABLE_FIELD_DEPLOYMENTDBID = "deploymentDbid";
	
	/**
	 * JBPM4_DEPLOYPROP表中使用的objectName的字段名称
	 */
	public static final String PROCESS_JBPM_TABLE_FIELD_OBJECTNAME = "objectName";

	/**
	 * 系统名称
	 */
	public static final String SYSTEM_NAME = "Wilmar Process System";

	/**
	 * 系统默认采用的前台分页的最大数量
	 */
	public static final int SYSTEM_DEFAULT_PAGEINATION_LIMIT = 500;

	/**
	 * 系统默认采用的编码集
	 */
	public static final String SYSTEM_DEFAULT_CODE_SET = "UTF-8";

	/**
	 * 系统命名空间
	 */
	public static final String SYSTEM_DEFAULT_NAMESPACE = "process/";

	/**
	 * 页面静态化html页面存放目录
	 */
	public static final String PROCESS_PAGE_STATIC_DIR = "staticPages/";

	/**
	 * 不等于号常量
	 */
	public static final String NOTEQUAL = "!=";

	/**
	 * 默认的系统处理任务实例的Action的Url地址
	 */
	public static final String DEFAULT_TASK_INSTANCE_COMPLETE_ACTION_URL = "process/taskInstanceAction!doCompleteTask.action";

	/**
	 * 系统邮件系统配置采用的配置文件名称
	 */
	public static final String DEFAULT_SYSTEM_EMAILSERVER_CONFIGURATION_FILE = "/process.mail.properties";

	/**
	 * 系统使用的关于内容中变量的前缀
	 */
	public static final String SYSTEM_CONTENT_VARIABLE_PREFIX = "${";

	/**
	 * 系统使用的关于内容中变量的后缀
	 */
	public static final String SYSTEM_CONTENT_VARIABLE_SUFFIX = "}";

	/**
	 * 系统使用的默认脚本语言
	 */
	public static final String DEFAULT_SYSTEM_SCRIPT_LANGUAGE = "juel";

	/**
	 * html代码中的空格常量
	 */
	public static final String HTML_SPACE = "&nbsp;";

	/**
	 * html代码中的换行常量
	 */
	public static final String HTML_LINE_BREAK = "<br/>";

	/**
	 * 隐藏用于弹出确认表单信息的div层的id
	 */
	public static final String TASKINSTANCE_FORM_COMMIT_CONFIRM_DIV = "TASKINSTANCE_FORM_COMMIT_CONFIRM_DIV";

	public static final String TASKINSTANCE_FORM_COMMIT_CONFIRM_DIV_CONTENT = "TASKINSTANCE_FORM_COMMIT_CONFIRM_DIV_CONTENT";

	public static final String TASKINSTANCE_FORM_COMMIT_CONFIRM_DIV_CANCEL_BTN = "TASKINSTANCE_FORM_COMMIT_CONFIRM_DIV_CANCEL_BTN";

	public static final String TASKINSTANCE_FORM_COMMIT_CONFIRM_DIV_SUBMIT_BTN = "TASKINSTANCE_FORM_COMMIT_CONFIRM_DIV_SUBMIT_BTN";

	public static final String TASKINSTANCE_FORM_COMMIT_COMMITING_MESSAGE_DIV = "TASKINSTANCE_FORM_COMMIT_COMMITING_MESSAGE_DIV";

	public static final String TASKINSTANCE_FORM_COMMIT_BUTTON_DIV = "TASKINSTANCE_FORM_COMMIT_BUTTON_DIV";

	public static final String TASKINSTANCE_FORM_COMMIT_BUTTON_ID_PREFIX = "TASKINSTANCE_FORM_COMMIT_BUTTON_";

	/**
	 * 系统中使用的邮件发送方式,当前为多线程方式
	 */
	public static final EnumEmailSendingType PROCESS_SYSTEM_MAIL_SENDING_TYPE = EnumEmailSendingType.THREAD;
}
